// <com.woyouqiu.Copyright>
// --------------------------------------------------------------
// <copyright>上海有求网络科技有限公司 2015</copyright>
// <Solution>Vecen.BangChuang</Solution>
// <Project>Vecen.BangChuang.EntityFrameworkCore</Project>
// <FileName>BankTypeDataBuilder.cs</FileName>
// <CreateTime>2017-05-17 14:35</CreateTime>
// <Author>何苗</Author>
// <Email>hemiao@woyouqiu.com</Email>
// <log date="2017-05-17 14:35" version="00001">创建</log>
// --------------------------------------------------------------
// </com.woyouqiu.Copyright>

using System.Linq;
using Vecen.BangChuang.BangChuang.Wallets;

namespace Vecen.BangChuang.EntityFrameworkCore.Seed.BangChuang {
    public class BankTypeDataBuilder {
        private readonly BangChuangDbContext _context;


        public BankTypeDataBuilder(BangChuangDbContext context) {
            _context = context;
        }

        public void Create() {
            CreateBankType("0100", "中国邮政储蓄银行");
            CreateBankType("0102", "工商银行");
            CreateBankType("0103", "农业银行");
            CreateBankType("0104", "中国银行");
            CreateBankType("0105", "建设银行");
            CreateBankType("0301", "交通银行");
            CreateBankType("0302", "中信银行");
            CreateBankType("0303", "光大银行");
            CreateBankType("0304", "华夏银行");
            CreateBankType("0305", "民生银行");
            CreateBankType("0306", "广发银行");
            CreateBankType("0308", "招商银行");
            CreateBankType("0309", "兴业银行");
            CreateBankType("0310", "浦发银行");
            CreateBankType("0311", "恒丰银行");
            CreateBankType("0313", "临沂市商业银行");
            CreateBankType("0316", "浙商银行");
            CreateBankType("0317", "渤海银行");
            CreateBankType("0318", "平安银行");
            CreateBankType("0328", "新韩银行(中国)");
            CreateBankType("0329", "韩亚银行(中国)");
            CreateBankType("0336", "企业银行");
            CreateBankType("0401", "上海银行");
            CreateBankType("0402", "厦门银行");
            CreateBankType("0403", "北京银行");
            CreateBankType("0404", "烟台市商业银行");
            CreateBankType("0405", "福建海峡银行");
            CreateBankType("0406", "吉林银行");
            CreateBankType("0408", "宁波银行");
            CreateBankType("0412", "温州银行");
            CreateBankType("0413", "广州银行");
            CreateBankType("0414", "汉口银行");
            CreateBankType("0418", "洛阳银行");
            CreateBankType("0420", "大连银行");
            CreateBankType("0422", "河北银行");
            CreateBankType("0423", "杭州商业银行");
            CreateBankType("0424", "南京银行");
            CreateBankType("0427", "乌鲁木齐市商业银行");
            CreateBankType("0428", "绍兴银行");
            CreateBankType("0433", "葫芦岛市商业银行");
            CreateBankType("0434", "天津银行");
            CreateBankType("0435", "郑州银行");
            CreateBankType("0436", "宁夏银行");
            CreateBankType("0438", "齐商银行");
            CreateBankType("0439", "锦州银行");
            CreateBankType("0440", "徽商银行");
            CreateBankType("0441", "重庆银行");
            CreateBankType("0442", "哈尔滨银行");
            CreateBankType("0443", "贵阳银行");
            CreateBankType("0447", "兰州银行");
            CreateBankType("0448", "南昌银行");
            CreateBankType("0449", "晋商银行");
            CreateBankType("0450", "青岛银行");
            CreateBankType("0455", "日照市商业银行");
            CreateBankType("0456", "鞍山银行");
            CreateBankType("0458", "青海银行");
            CreateBankType("0459", "台州银行");
            CreateBankType("0461", "长沙银行");
            CreateBankType("0463", "赣州银行");
            CreateBankType("0465", "营口银行");
            CreateBankType("0467", "阜新银行");
            CreateBankType("0474", "内蒙古银行");
            CreateBankType("0475", "湖州市商业银行");
            CreateBankType("0476", "沧州银行");
            CreateBankType("0479", "包商银行");
            CreateBankType("0481", "威海商业银行");
            CreateBankType("0483", "攀枝花市商业银行");
            CreateBankType("0485", "绵阳市商业银行");
            CreateBankType("0490", "张家口市商业银行");
            CreateBankType("0492", "龙江银行");
            CreateBankType("0495", "柳州银行");
            CreateBankType("0497", "莱商银行");
            CreateBankType("0498", "德阳银行");
            CreateBankType("0503", "晋城银行");
            CreateBankType("0505", "东莞商行");
            CreateBankType("0508", "江苏银行");
            CreateBankType("0513", "承德市商业银行");
            CreateBankType("0515", "德州银行");
            CreateBankType("0517", "邯郸市商业银行");
            CreateBankType("0525", "浙江民泰商业银行");
            CreateBankType("0526", "上饶市商业银行");
            CreateBankType("0527", "东营银行");
            CreateBankType("0528", "泰安市商业银行");
            CreateBankType("0530", "浙江稠州商业银行");
            CreateBankType("0534", "鄂尔多斯银行");
            CreateBankType("0537", "济宁银行");
            CreateBankType("0547", "昆仑银行");
            CreateBankType("0554", "邢台银行");
            CreateBankType("0556", "漯河商行");
            CreateBankType("1401", "上海农商银行");
            CreateBankType("1402", "昆山农信社");
            CreateBankType("1403", "常熟市农村商业银行");
            CreateBankType("1404", "深圳农村商业银行");
            CreateBankType("1405", "广州农村商业银行");
            CreateBankType("1408", "佛山顺德农村商业银行");
            CreateBankType("1409", "昆明农村信用社联合社");
            CreateBankType("1410", "湖北农信社");
            CreateBankType("1415", "东莞农村商业银行");
            CreateBankType("1416", "张家港农村商业银行");
            CreateBankType("1417", "福建省农村信用社联合社");
            CreateBankType("1418", "北京农村商业银行");
            CreateBankType("1419", "天津农村商业银行");
            CreateBankType("1420", "宁波鄞州农村合作银行");
            CreateBankType("1424", "江苏省农村信用社联合社");
            CreateBankType("1428", "江苏吴江农村商业银行");
            CreateBankType("1430", "苏州银行");
            CreateBankType("1443", "广西农村信用社联合社");
            CreateBankType("1446", "黄河农村商业银行");
            CreateBankType("1447", "安徽省农村信用社联合社");
            CreateBankType("1448", "海南省农村信用社联合社");
            CreateBankType("1513", "重庆农村商业银行");
            CreateBankType("6462", "潍坊市商业银行");
            CreateBankType("6466", "富滇银行");
            CreateBankType("6473", "浙江泰隆商业银行");
            CreateBankType("6478", "广西北部湾银行");
            CreateBankType("6567", "商丘商行");
            _context.SaveChanges();
        }

        private void CreateBankType(string code, string name) {
            if(!_context.BankTypes.Any(c => c.BankName == name)) {
                _context.BankTypes.Add(new BankType() {Id = code, BankName = name, IsActive = true});
            }
        }
    }
}